@font-face {
  font-family: "Roboto";
  font-weight: 300;
  src: url("/sirael/portal/fonts/Roboto-Light.ttf") format("TrueType")
}

@font-face {
  font-family: "Roboto";
  font-weight: 400;
  src: url("/sirael/portal/fonts/Roboto-Regular.ttf") format("TrueType")
}

@font-face {
  font-family: "Roboto";
  font-weight: 500;
  src: url("/sirael/portal/fonts/Roboto-Medium.ttf") format("TrueType")
}

@font-face {
  font-family: "Roboto";
  font-weight: 700;
  src: url("/sirael/portal/fonts/Roboto-Bold.ttf") format("TrueType")
}

:root {
  --gsl-black-1: #282E38;
  --gsl-grey-1: #F3F3F3;
  --gsl-grey-2: #E5E5E5;
  --gsl-grey-3: #93969B;
  --gsl-red-1: #C21B17;
  --gsl-red-2: #752127;
  --gsl-red-3: #8E1230;
  --gsl-red-4: #E9573D;
}

* {
  text-rendering: optimizeLegibility;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}

html {
  font-family: "Roboto", "Arial", "Helvetica", sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: var(--gsl-black-1);
  background-color: #FFF;
  height: 100%;
}

html.__noOpScroll {
  overflow-y: hidden;
}

html.__noOpScroll body {
  overflow-y: scroll;
}

body {
  margin: 0px;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

ais-svg {
  display: block;
}

.g2Button {
  border: none;
  background: var(--kz2-primary);
  color: white;
  cursor: pointer;
  user-select: none;
  
  font-size: 15px;
  font-weight: bold;
  line-height: normal;
  letter-spacing: normal;
  white-space: nowrap;
  padding: 10px 16px 12px 16px;
  
  display: flex;
  align-items: center;
}

.g2Button:hover {
  background: var(--kz2-primary-hover);
  color: white;
}

.g2Button.g2Button__confirm {
  padding: 15px 21px 17px 21px;
  font-size: 16px;
}

.g2Button_panel {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.g2Button_panel .g2Button {
  margin-bottom: 20px;
}

.kzBox {
  padding: 40px;
  background: white;
  border: 2px solid white;
}

.kzBox.__hasBorderTop {
  border-top: 4px solid var(--kz2-primary);
}

.kzBox.__hasShadow {
  box-shadow: 0 9px 44px rgba(0,0,0,0.11);
}

#kz_myInfos {
  background: var(--gsl-red-1);
  color: #FFF;
  padding: 11px;
  text-align: center;
  user-select: none;
  
  list-style: none;
  margin: 0;
}

#kz_headerFloat {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 12100;
  background: #FFF;
}

#kz_headerContent {
  display: flex;
  align-items: center;
  white-space: nowrap;
  height: 100%;
  gap: 10px;
  /* !! When gap changes, make sure to update it in mod_kzHeader.js! */
}

#kz_headerLogoVertical {
  height: 52px;
  width: 64px;
  display: block;
  flex-shrink: 0;
}

#kz_header.__navCollapsed #kz_headerLogoVertical {
  display: none;
}

#kz_headerLogoHorizontal {
  width: 166px;
  height: 22px;
  display: none;
  flex-shrink: 0;
}

#kz_header.__navCollapsed #kz_headerLogoHorizontal {
  display: block;
}

#kz_headerRoot {
  position: relative;
  height: 80px;
  max-width: 1600px;
  margin: 0px auto;
  padding: 14px 120px;
}

#kz_header .buttonPanel {
  display: inline-flex;
  align-items: center;
}

#kz_header .buttonPanel a, #kz_header .buttonPanel button {
  display: flex;
  padding: 10px;
  
  background: none;
  border: none;
  letter-spacing: 0.3px;
  cursor: pointer;
  user-select: none;
  font-size: inherit;
  line-height: inherit;
}

#kz_headerNav a, #kz_headerNav button {
  text-transform: uppercase;
  text-decoration: none;
  color: inherit;
  outline: inherit;
}

#kz_headerNav a > .notification {
	font-size: 9px;
	line-height: 14px;
	
	background-color: var(--kz2-secondary);
	color: #FFF;
	
	height: 14px;
	min-width: 14px;
	padding: 0 3px;
	border-radius: 7px;
	
	margin-top: 3px;
	margin-left: 6px;
}

#kz_header .buttonPanel a.__highlight, #kz_header .buttonPanel a:hover, #kz_header .buttonPanel button.__highlight, #kz_header .buttonPanel button:hover {
  background: var(--kz2-secondary);
  color: #FFF;
}

#kz_header .buttonPanel a ais-svg, #kz_header .buttonPanel button ais-svg {
  width: 18px;
  height: 18px;
  --svg-colorPrimary: var(--kz2-secondary); 
}

#kz_header .buttonPanel a.__highlight ais-svg, #kz_header .buttonPanel a:hover ais-svg, #kz_header .buttonPanel button.__highlight ais-svg, #kz_header .buttonPanel button:hover ais-svg {
  --svg-colorPrimary: #fff; 
}

#kz_header .buttonPanelSeparator {
  width: 1px;
  height: 24px;
  background: var(--gsl-grey-2);
}

#kz_header.__navCollapsed .buttonPanelSeparator {
  display: none;
}

#kz_headerCtrl {
  gap: 10px;
  flex-shrink: 0;
  position: relative;
}

#kz_headerCtrl #kz_headerCtrl_messages {
  box-shadow: 0px 2px 5px rgba(0,0,0, 0.1);
  border-radius: 50%;
  padding: 16px;
}

#kz_headerCtrl #kz_headerCtrl_messages:hover {
  background: white;
}

#kz_headerCtrl #kz_headerCtrl_messages ais-svg {
  --svg-colorPrimary: var(--gsl-black-1);
}

#kz_headerCtrl #kz_headerCtrl_messages:hover ais-svg {
  --svg-colorPrimary: var(--kz2-secondary);
}

#kz_headerCtrl_user {
  align-items: center;
  gap: 10px;
  font-size: 17px;
  color: var(--kz2-primary);
}

#kz_header.__navOverlayVisible #kz_headerCtrl_user {
  font-size: inherit;
}

#kz_headerCtrl_user .buttonText {
  flex-grow: 1;
}

#kz_headerCtrl_user ais-svg[src*="Arrow"] {
  transform: rotate(90deg);
}

#kz_headerCtrl_user.__highlight ais-svg[src*="Arrow"] {
  transform: rotate(-90deg);
}

#kz_headerCtrl_userPopup {
  position: absolute;
  top: 100%;
  right: 0px;
  background: white;
  box-shadow: 0 9px 44px rgba(0, 0, 0, 0.1);
  display: none;
}

#kz_headerCtrl_userPopup button {
  text-transform: uppercase;
  width: 100%;
  justify-content: center;
}

#kz_headerCtrl_userPopup .buttonPanelSeparator {
  height: 1px;
  width: 80%;
  margin: 0px auto;
  background: var(--gsl-grey-2);
}

#kz_header.__navOverlayVisible #kz_headerCtrl_userPopup {
  position: static;
  background: rgba(0,0,0,0.15);
  box-shadow: none;
  padding: 10px;
}

#kz_header.__navOverlayVisible button {
  justify-content: flex-start;
}


#kz_headerCtrl_navToggle {
  display: none !important;
  height: 100%;
  align-items: center;
  background: var(--kz2-secondary) !important;
  border-radius: 50%;
}

#kz_headerCtrl_navToggle ais-svg {
  --svg-colorPrimary: #fff !important;
}

#kz_headerCtrl_navToggle:hover {
  background: var(--kz2-secondary-hover) !important;
}

#kz_header.__navCollapsed #kz_headerCtrl_navToggle {
  display: inline-flex !important;
}

#kz_header #kz_headerCtrl_navToggle .toggle__false {
  display: block;
}

#kz_header #kz_headerCtrl_navToggle .toggle__true {
  display: none;
}

#kz_header.__navOverlayVisible #kz_headerCtrl_navToggle .toggle__false {
  display: none;
}

#kz_header.__navOverlayVisible #kz_headerCtrl_navToggle .toggle__true {
  display: block;
}

#kz_headerNavContainer {
  overflow: hidden;
  flex-grow: 1;
  text-align: center;
}

#kz_headerNav {
  height: 100%;
  gap: 20px;
}

#kz_header.__navCollapsed #kz_headerNav {
  display: none;
}

#kz_header.__navOverlayVisible #kz_headerNav {
  position: absolute /* relative to #kz_headerFloat */;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 12150;
  
  display: flex;
  gap: 0px;
  flex-direction: column;
  align-items: flex-start;
  overflow-y: auto;
  padding: 0px 120px;
  background: var(--kz2-secondary);
}

#kz_header.__navOverlayVisible #kz_headerNav a, #kz_header.__navOverlayVisible #kz_headerNav button {
  padding: 16px 10px;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
  color: white;
  text-transform: none;
  font-weight: 500;
  border-bottom: 1px solid rgba(255,255,255,0.2);
}

#kz_header.__navOverlayVisible #kz_headerNav a:last-child, #kz_header.__navOverlayVisible #kz_headerNav button:last-child {
  border-bottom: none;
}

#kz_header.__navOverlayVisible #kz_headerNav.buttonPanel a ais-svg, #kz_header.__navOverlayVisible #kz_headerNav.buttonPanel button ais-svg {
  --svg-colorPrimary: #fff; 
}

#kz_header.__navOverlayVisible #kz_headerNav a.__highlight, #kz_header.__navOverlayVisible #kz_headerNav a:hover, #kz_header.__navOverlayVisible #kz_headerNav button.__highlight,
  #kz_header.__navOverlayVisible #kz_headerNav button:hover {
  background: #f1644b;
}

#kz_headerServerStrip {
  display: none;
  height: 8px;
}

#kz_headerServerStrip[data-serverName*="-vyvoj"] {
  display: block;
  background-color: gold;
}

#kz_headerServerStrip[data-serverName*="-test2"] {
  display: block;
  background-color: magenta;
}

#kz_headerServerStrip[data-serverName*="-green"] {
  display: block;
  background-color: green;
}

#kz_main {
  flex-grow: 1;
  display: flex;
  min-width: 340px;
  /* By default, all absolutely positioned elements are relative to this */
  position: relative;
}

#kz_main.__hasBackground {
  background-color: var(--gsl-grey-1);
}

#kz_sidebar {
  /*XXX*/
  z-index: 11150;
}

#kz_mainBanner {
  display: flex;
  align-items: center;
  justify-content: right;
}

#kz_mainBanner img {
  height: 100vh;
}

#kz_mainGwtApp {
  flex-grow: 1;
  min-width: inherit;
  max-width: 1390px /* 1360 + Grid margin */;
  
  display: flex;
  justify-content: center;
  margin: 0px auto;
}

#kz_mainGwtApp>* {
  min-width: inherit;
}

#kz_mainGwtApp kz-app-loader {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  max-width: 540px;
  margin: 0px auto;
}

kz-app-loader ais-svg {
  --svg-colorPrimary: var(--kz2-primary);
  --svg-colorSecondary: #DADADA;
  margin: 16px auto;
}

kz-app-loader.__error ais-svg {
  width: 96px;
  height: 96px;
}

kz-app-loader.__loading .kzBox {
  cursor: wait;
}

kz-app-loader.__loading ais-svg {
  width: 198px;
  height: 20px;
}

#kz_footer {
  background: var(--gsl-grey-1);
}

#kz_footerContent {
  max-width: 1600px;
  margin: 0px auto;
  padding: 45px 120px 80px 120px;
  gap: 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
  user-select: none;
}

#kz_footerCopyright {
  opacity: 0.6;
}

#kz_footerLeft {
  overflow: hidden;
  flex-grow: 1;
}

#kz_footerLogoHorizontal {
  height: 21px;
  width: 151px;
  display: block;
  margin-bottom: 17px;
}

#kz_footerRight {
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
  display: flex;
  gap: 10px;
}

#kz_footerRight ais-svg {
  --svg-colorPrimary: --gsl-black-1;
  opacity: 30%;
  width: 48px;
  height: 48px;
}

#kz_footerRight a:hover ais-svg {
  opacity: 60%;
}

#session-ctrl {
  display: none;
  align-items: center;
  justify-content: center;
  
  position: fixed;
  z-index: 20000;
  left: 0;
  bottom: 0;
  right: 0;
  top: 0;
  padding: 0 2em;
  
  background-color: rgba(0,0,0,0.1);
  backdrop-filter: blur(4px);
  text-align: center;
}

#session-ctrl-content {
  background-color: white;
  padding: 45px 40px;
  box-shadow: 0px 9px 44px rgba(0,0,0, 0.1);
  max-width: 50%;
}

#session-ctrl h1 {
  font-weight: bold;
  font-size: 18px;
  color: var(--gsl-black-1);
  letter-spacing: 0.12px;
  margin-bottom: 40px;
}

#session-ctrl .__var1, #session-ctrl .__var2 {
  display: none;
}

#session-ctrl.var1 .__var1 {
  display: block;
}

#session-ctrl.var2 .__var2 {
  display: block;
}

ais-integrated-frame {
  display: flex;
  width: 100%;
}

ais-integrated-frame iframe {
  border: 0;
  width: 100%;
}